package main

import "fmt"

/*
1、基本介绍
如果一个struct嵌套了多个匿名结构体，那么该结构体可以直接访问嵌套的匿名结构体的字段和方法，从而实现了多重继承
2、细节说明
(1)如果嵌入的匿名结构体有相同的字段名或者方法名，则在访问时，需要通过匿名结构体类型名来访问
(2)为了保证代码的简洁性，建议大家尽量不使用多重继承
*/
type A struct {
	Name string
}
type B struct {
	Name string
}
type C struct {
	A
	B
}

func main() {
	var c C
	c.A.Name = "猪猪"
	c.B.Name = "港港"
	fmt.Println("c", c)
}
